草庐IT

VBScript 关键字

全部标签

c# - 如何从 VBScript 调用 C# DLL 函数

我的脚本在服务器上,所以我没有可用的UI交互,必须使用DLL而不是控制台应用程序。如何从VBScript调用C#DLL中的函数?如何使我的DLL成为COMVisible?我必须注册吗? 最佳答案 您需要通过设置COMVisibleAttribute将程序集标记为COM可见为真(如果您只想公开一种类型,则在程序集级别或类级别)。接下来注册它:regasm/codebaseMyAssembly.dll最后从VBScript中调用它:dimmyObjSetmyObj=CreateObject("MyNamespace.MyObject")

c# - 如何在我的 JSON 模型类中使用保留关键字作为标识符?

我以前从未使用过WebAPI,但我需要一个可以接受/返回JSON对象的Web服务,使用它似乎是一件合理的事情。它看起来非常简单(如果不是为了我的目的有点矫枉过正),但我需要处理的数据结构看起来像:{"values":["foo","bar"],"default":"bar"}所以我去制作一个模型对象:classDropDownValues{publicstring[]values{get;set;}publicstringdefault{get;set;}}问题是default似乎是一个protected关键字。一定有办法解决这个问题,对吧? 最佳答案

c# - F# 等效于 C# 'object' 关键字

我正在尝试将现有的c#移植到f#,我是否会在移植此c#行时遇到困难:publicobjectmyInnerOject 最佳答案 在C#中object只是一个引用System.Object的类型名称.在F#中,您可以使用此完整的.NET名称或类型别名obj.现在,关于字段声明——根据上下文,有多种方式来编写它。此外,在F#中初始化所有字段也是一种很好的做法,因此查看代码的更大上下文会很有用。但是,你可以这样写:typeA()=letmutable(myInnerObj:obj)=null这会创建一个私有(private)字段myInn

c# - 动态关键字问题

请告诉我在哪个版本中引入了动态关键字?我在VS2010中发现了奇怪的行为。我将目标框架设置为3.5。但是没有编译器错误。只需创建一个目标框架为.net3.5的控制台应用程序并使用dynamic关键字。 最佳答案 .Net4.0引入了动态类型。动态类型不是语言独有的特性(即纯粹由编译器支持)。它依赖于DLR,这是一个需要库支持的.Net4.0功能。您不能使用dynamic并以.Net3.5框架为目标。 关于c#-动态关键字问题,我们在StackOverflow上找到一个类似的问题:

c# - .net 反射和 "params"关键字

在.net中,有没有办法使用反射来确定方法上的参数是否用“params”关键字标记? 最佳答案 检查ParamArrayAttribute是否已应用于ParameterInfo对象://usestring.Format(str,args)asatestvarmethod=typeof(string).GetMethod("Format",new[]{typeof(string),typeof(object[])});varparam=method.GetParameters()[1];Console.WriteLine(Attrib

c# - 为什么 async 关键字在编译时会生成一个枚举器和附加结构?

如果我创建一个像下面这样的简单类:publicclassTestClass{publicTaskTestMethod(intsomeParameter){returnTask.FromResult(someParameter);}publicasyncTaskTestMethod(boolsomeParameter){awaitTask.FromResult(someParameter);}}并在NDepend中检查它,它表明TestMethod采取行动并成为asyncTask有一个为它生成的结构,带有一个枚举器、枚举器状态机和一些额外的东西。为什么编译器会生成一个名为TestClas

c# - 多处理器系统中 volatile 关键字的成本是多少?

我们遇到了性能问题,一个潜在的罪魁祸首是集中使用volatile单例。具体代码形式为classfoo{staticvolatileinstance;staticobjectl=newobject();publicstaticfooInstance{if(instance==null)lock(l){if(instance==null)instance=newfoo();}returnfoo();}}这是在一个8路盒子上运行的,我们看到上下文切换到每秒500,000次。典型的系统资源很好——25%的cpu利用率、25%的内存利用率、低IO、无分页等。使用volatile字段会导致内存屏障

c# - ASP.NET MVC4 ... "BIN"是保留关键字吗?

我有一个股票查询应用程序,它根据股票代码返回数据。基本上,AJAX调用转到~/Stocks/GetStockData/{id},其中{id}是股票代码。这很好用……一般来说。今天我发现股票“ProgressiveWasteSolutionsLtd.”,其股票代码为BIN​​,炸毁了。查看浏览器中的返回数据,我看到它为此符号返回404。我突然想到BIN可能是一个保留字,要求一些二进制文件或其他东西。是这样吗?我如何在不付出很多努力的情况下解决这个问题?是否还有其他关键字也会导致此问题?更新PerArtyomNeustroev,这可能是一个保留关键字,并且不会被路由到。他引用了一篇文章,该

c# - 在代码中使用 '"using"关键字时,我应该在哪里捕获异常?

哪个在结构上更好?classProgram{staticvoidMain(string[]args){try{using(Foof=newFoo()){//somecommandsthatpotentiallyproduceexceptions.}}catch(Exceptionex){Console.WriteLine(ex.Message);}}}或者...classProgram{staticvoidMain(string[]args){using(Foof=newFoo()){try{//somecommandsthatpotentiallyproduceexceptions.

c# - C# 中是否存在可使局部变量在多次调用中保持不变的关键字?

也就是说,在C中,我们可以定义如下函数:func(){staticintfoo=1;foo++;returnfoo;}每次调用它都会返回一个更大的数字。C#中是否有等效的关键字? 最佳答案 不,C#中没有这样的东西。您希望在多个方法调用中保持的所有状态都必须在字段中,无论是实例还是静态。除非...如果您在lambda表达式或类似的表达式中捕获变量。例如:publicFuncGetCounter(){intcount=0;return()=>count++;}现在您可以使用:Funccounter=GetCounter();Conso